import React from 'react'

/**
 * 
auth:要处理的按钮对应的权限标识 
children:要处理的按钮对应的jsx的结构和样式

 */
//权限的处理模式
export const authModes = {
  showOrHide: "showOrHide",//显示或者隐藏
  openOrDisabled: "openOrDisabled",//开放或者禁用

}

export default function AuthComponent({ auth, children, authMode = authModes.showOrHide,...rest }) {
  console.log('rest',rest)
  //当前登录人的所有权限列表
  const permissions = JSON.parse(localStorage.permissions)
  const has = permissions.includes(auth);//当前登录人是否有权限看到或者操作该按钮
  if (authMode === authModes.showOrHide) {
    if (has) {
      return React.cloneElement(children,rest);
    } else {
      return null;
    }
  } else {
    //开放或者禁用
    if (has) {
      return  React.cloneElement(children,rest);
    } else {
      return React.cloneElement(children, { disabled: true, title: "对不起，您没有权限" })
    }
  }

}
